Postgres'e Bağlanın
Bu öğretici, Deno Deploy üzerinde dağıtılan bir uygulamadan Postgres veritabanına nasıl bağlanacağınızı kapsar.
Postgres üzerine bir örnek uygulama oluşturmayı detaylandıran daha kapsamlı bir öğretici bulabilirsiniz burada
.
Postgres'i Kurun
Bu öğretici tamamen şifrelenmemiş Postgres'e bağlanmaya odaklanacaktır. Eğer özel bir CA sertifikasıyla şifreleme kullanmak isterseniz, dökümantasyonu burada kullanın.
Başlamak için, bağlanmamız gereken yeni bir Postgres örneği yaratmamız gerekiyor. Bu öğreticide, ücretsiz ve yönetilen Postgres örnekleri sağlayan Supabase kullanacağız. Veritabanınızı başka bir yerde barındırmak isterseniz, bunu da yapabilirsiniz.
- https://app.supabase.io/ adresine gidin ve Yeni proje seçeneğine tıklayın.
- Veritabanınız için bir isim, şifre ve bölge seçin. Şifreyi kaydetmeyi unutmayın, çünkü daha sonra buna ihtiyacınız olacak.
- Yeni proje oluştur seçeneğine tıklayın. Projenin oluşturulması biraz zaman alabilir, bu yüzden sabırlı olun.
Postgres'ten kimlik bilgilerini toplayın
Postgres veritabanınızı kurduktan sonra, Postgres örneğinizden bağlantı bilgilerinizi toplayın.
Supabase
Yukarıdaki Supabase örneği için, bağlantı bilginizi almak için:
- Sol taraftaki Veritabanı sekmesine gidin.
- Proje Ayarları >> Veritabanı bölümüne gidin ve Bağlantı Dizesi >> URI alanından bağlantı dizesini kopyalayın. Bu, veritabanınıza bağlanırken kullanacağınız bağlantı dizesidir. Daha önce kaydettiğiniz şifreyi bu dizeye yerleştirin ve ardından dizeyi bir yere kaydedin - daha sonra buna ihtiyacınız olacak.
psql
Eğer psql kullanıyorsanız, genellikle bağlantı bilgilerinizi bulmak için aşağıdaki komutu çalıştırabilirsiniz:
test=# \conninfo
Postgres bağlantı dizesi aşağıdaki biçimde olacaktır:
postgres://user:password@127.0.0.1:5432/deploy?sslmode=disable
Deno Deploy'de bir proje oluşturun
Sonraki adımda, Deno Deploy'de bir proje oluşturalım ve gerekli ortam değişkenleriyle kurulumunu yapalım:
- https://dash.deno.com/new adresine gidin (eğer henüz yapmadıysanız GitHub ile oturum açın) ve + Boş Proje seçeneğine tıklayın.
- Şimdi proje sayfasındaki Ayarlar butonuna tıklayın.
- Ortam Değişkenleri bölümüne gidin ve aşağıdaki gizli bilgileri ekleyin.
DATABASE_URL
- Değer, son adımda aldığınız bağlantı dizesi olmalıdır.
Postgres'e bağlanan kodu yazın
Postgres'e okumak/yazmak için, Postgres modülünü içe aktarın, ortam değişkenlerinden bağlantı dizesini okuyun ve bir bağlantı havuzu oluşturun.
import { Pool } from "https://deno.land/x/postgres@v0.17.0/mod.ts";
// "DATABASE_URL" ortam değişkeninden bağlantı dizesini alın
const databaseUrl = Deno.env.get("DATABASE_URL")!;
// Üç bağlantıyla temelli olarak oluşturulan bir veritabanı havuzu oluşturun
const pool = new Pool(databaseUrl, 3, true);
// Veritabanına bağlanın
const connection = await pool.connect();
try {
// Tabloyu oluşturun
await connection.queryObject`
CREATE TABLE IF NOT EXISTS todos (
id SERIAL PRIMARY KEY,
title TEXT NOT NULL
)
`;
} finally {
// Bağlantıyı havuza geri bırakın
connection.release();
}
Uygulamayı Deno Deploy'e dağıtın
Uygulamanızı yazmayı bitirdiğinizde, bunu Deno Deploy'e dağıtabilirsiniz.
Bunu yapmak için, projeniz sayfasına geri dönün ve https://dash.deno.com/projects/
adresine gidin.
Dağıtım yapmak için birkaç seçenek göreceksiniz:
Github entegrasyonu
deployctl
deployctl deploy --project=<project-name> <application-file-name>
Bir yapı adımı eklemek istemiyorsanız, GitHub entegrasyonunu seçmenizi öneririz.
Deno Deploy üzerinde dağıtım yapmanın farklı yolları ve farklı yapılandırma seçenekleri hakkında daha fazla bilgi için burada
okuyun.